$prefix: 'mo';

@function prefix($name, $cusPrefix: $prefix) {
    @return '.' + $cusPrefix + '-' + $name;
}

// ============= The Workbench parts =============
$actionBar: prefix('action-bar');
$btn: prefix('btn');
$checkbox: prefix('checkbox');
$collapse: prefix('collapse');
$rcCollapse: prefix('collapse', 'rc');
$name: prefix('context-view');
$dropDown: prefix('drop-down');
$input: prefix('input');
$list: prefix('list');
$menu: prefix('menu');
$subMenu: prefix('sub-menu');
$scrollbar: prefix('scrollbar');
$select: prefix('select');
$tabSwitcher: 'tab-switcher';
$toolBar: prefix('tool-bar');
$tree: prefix('tree');
$tabs: prefix('tabs');
$tab: prefix('tab');
$modal: prefix('modal');
$confirm: prefix('confirm');
$breadcrumb: prefix('breadcrumb');
$search: prefix('search');
$rcTooltip: prefix('tooltip', 'rc');
$split: prefix('split');
$bell: prefix('bell');

// ============= The Workbench core component =============
$compositeBar: prefix('compositeBar');
$editor: prefix('editor');
$menuBar: prefix('menuBar');
$panel: prefix('panel');
$settings: prefix('settings');
$sidebar: prefix('sidebar');
$statusBar: prefix('statusBar');
$workbench: prefix('workbench');
$mainBench: prefix('mainBench');
$activityBar: prefix('activityBar');
$notification: prefix('notification');
$problems: prefix('problems');
$output: prefix('output');
$folderTree: prefix('folderTree');
$editorTree: prefix('editorTree');

// The Naming of BEM Element
@function bem-ele($block, $element) {
    @return $block + '__' + $element;
}

// The Naming of BEM Modifier
@function bem-mod($blockOrElement, $modifier) {
    @return $blockOrElement + '--' + $modifier;
}
